package mx.utils;

extern class ObjectUtil {
	static function compare(a : Dynamic, b : Dynamic, ?depth : Int) : Int;
	static function copy(value : Dynamic) : Dynamic;
	static function dateCompare(a : Date, b : Date) : Int;
	static function getClassInfo(obj : Dynamic, ?excludes : Array<Dynamic>, ?options : Dynamic) : Dynamic;
	static function hasMetadata(obj : Dynamic, propName : String, metadataName : String, ?excludes : Array<Dynamic>, ?options : Dynamic) : Bool;
	static function isSimple(value : Dynamic) : Bool;
	static function numericCompare(a : Float, b : Float) : Int;
	static function stringCompare(a : String, b : String, ?caseInsensitive : Bool) : Int;
	static function toString(value : Dynamic, ?namespaceURIs : Array<Dynamic>, ?exclude : Array<Dynamic>) : String;
}
